package com.richard.room.operator.processor;

import java.util.regex.Pattern;

import javax.lang.model.type.TypeMirror;

/**
 * @author: Richard
 * @createDate: 2024/6/7 15:06
 * @version: 1.0
 * @description: 工具类
 */
final class Utils {

    /**
     * 是否属于实体对象
     */
    static boolean isModelObject(TypeMirror typeMirror) {
        switch (typeMirror.toString()) {
            case "java.lang.Boolean":
            case "boolean":
            case "java.lang.Integer":
            case "java.lang.Long":
            case "java.lang.Short":
            case "int":
            case "long":
            case "short":
            case "java.lang.Byte":
            case "byte":
            case "java.lang.Float":
            case "java.lang.Double":
            case "float":
            case "double":
            case "java.lang.String":
            case "java.util.Date":
                return false;
            default:
                return true;
        }
    }

    /**
     * 验证是否全为字母
     */
    static boolean isSpell(String str) {
        return isMatch("^[a-zA-Z]+$", str);
    }

    /**
     * 判断是否匹配正则
     *
     * @param regex 正则表达式
     * @param input 要匹配的字符串
     * @return {@code true}: 匹配<br>{@code false}: 不匹配
     */
    static boolean isMatch(String regex, CharSequence input) {
//        return input != null && input.length() > 0 && Pattern.matches(regex, input);
        return Pattern.compile(regex).matcher(input).find();
    }

}
